In the digital age, organizations increasingly generate and use large amounts of digitally-stored data. These organizations may use increasingly complex information technology infrastructures to manage their digitally-stored data. Some of these information technology solutions may utilize copy-on-write operations.
Copy-on-write operations may create a copy of data before the data is overwritten and/or modified in order to preserve the data in its original form. For example, a deduplication system may store a single instance of a file on behalf of multiple users instead of a separate copy of the file for each user. If one user wishes to modify the file, the deduplication system may apply a copy-on-write operation to preserve the file in its original form for the remaining users. As another example, a backup system may take a snapshot of a volume to back up. In this example, instead of copying the entire volume before allowing any write operations on the volume, the backup system may use copy-on-write operations to both preserve the volume in its state at the time of the snapshot as well as allow ongoing modifications to the volume.
Unfortunately, copy-on-write operations may consume a significant amount of computing resources (e.g., reading the data to be copied and writing the data to be copied in addition to the cost of performing the actuating write operation). Some traditional systems that employ copy-on-write operations may use large minimum chunk sizes for copy-on-write operations (e.g., copying a one megabyte chunk when a write operation is directed to a location within the one megabyte chunk) even though some write operations may be significantly smaller than the minimum chunk size (e.g., a write operation modifying a four kilobyte block). The use of copy-on-write operations may therefore multiply the cost of small write operations. Accordingly, the instant disclosure identifies and addresses a need for additional and improved systems and methods for performing copy-on-write operations.